package com.transaction.demo.trade.vo.resp;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 描述：支付记录表
 * 作者：马庆智
 * 日期：2023/04/27 17:22:10
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("支付记录表响应vo")
public class TradePaymentRecordRespVo implements Serializable {

    @ApiModelProperty("id")
    private String id;

    @ApiModelProperty("版本号")
    private int version;

    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("状态(参考枚举:paymentrecordstatusenum)")
    private String status;

    @ApiModelProperty("修改者")
    private String editor;

    @ApiModelProperty("创建者")
    private String creater;

    @ApiModelProperty("最后修改时间")
    private Date editTime;

    @ApiModelProperty("商品名称")
    private String productName;

    @ApiModelProperty("商户订单号")
    private String merchantOrderNo;

    @ApiModelProperty("支付流水号")
    private String trxNo;

    @ApiModelProperty("银行订单号")
    private String bankOrderNo;

    @ApiModelProperty("银行流水号")
    private String bankTrxNo;

    @ApiModelProperty("商家名称")
    private String merchantName;

    @ApiModelProperty("商家编号")
    private String merchantNo;

    @ApiModelProperty("付款人编号")
    private String payerUserNo;

    @ApiModelProperty("付款人名称")
    private String payerName;

    @ApiModelProperty("付款方支付金额")
    private String payerPayAmount;

    @ApiModelProperty("付款方手续费")
    private String payerFee;

    @ApiModelProperty("付款方账户类型(参考账户类型枚举:accounttypeenum)")
    private String payerAccountType;

    @ApiModelProperty("收款人编号")
    private String receiverUserNo;

    @ApiModelProperty("收款人名称")
    private String receiverName;

    @ApiModelProperty("收款方支付金额")
    private String receiverPayAmount;

    @ApiModelProperty("收款方手续费")
    private String receiverFee;

    @ApiModelProperty("收款方账户类型(参考账户类型枚举:accounttypeenum)")
    private String receiverAccountType;

    @ApiModelProperty("下单ip(客户端ip,从网关中获取)")
    private String orderIp;

    @ApiModelProperty("从哪个页面链接过来的(可用于防诈骗)")
    private String orderRefererUrl;

    @ApiModelProperty("订单金额")
    private String orderAmount;

    @ApiModelProperty("平台收入")
    private String platIncome;

    @ApiModelProperty("费率")
    private String feeRate;

    @ApiModelProperty("平台成本")
    private String platCost;

    @ApiModelProperty("平台利润")
    private String platProfit;

    @ApiModelProperty("页面回调通知url")
    private String returnUrl;

    @ApiModelProperty("后台异步通知url")
    private String notifyUrl;

    @ApiModelProperty("支付方式编号")
    private String payWayCode;

    @ApiModelProperty("支付方式名称")
    private String payWayName;

    @ApiModelProperty("支付成功时间")
    private Date paySuccessTime;

    @ApiModelProperty("完成时间")
    private Date completeTime;

    @ApiModelProperty("是否退款(100:是,101:否,默认值为:101)")
    private String isRefund;

    @ApiModelProperty("退款次数(默认值为:0)")
    private int refundTimes;

    @ApiModelProperty("成功退款总金额")
    private String successRefundAmount;

    @ApiModelProperty("交易业务类型  ：消费、充值等")
    private String trxType;

    @ApiModelProperty("订单来源")
    private String orderFrom;

    @ApiModelProperty("支付类型编号")
    private String payTypeCode;

    @ApiModelProperty("支付类型名称")
    private String payTypeName;

    @ApiModelProperty("资金流入类型")
    private String fundIntoType;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("银行返回信息")
    private String bankReturnMsg;

}